package com.blog.service;

import com.blog.entity.Article;
import com.blog.entity.param.ArticleParam;
import com.blog.entity.vo.ArticleVO;

import java.util.List;

/**
 * 文章管理接口
 */
public interface ArticleService {


    /**
     * 新增功能
     * @param article
     * @return
     */
    boolean create(Article article);

    /**
     * 2、删除功能
     * @param articleId
     * @return
     */
    boolean delete(Integer articleId);

    /**
     * 查询功能，查询功能是多功能查询，需要有对文章标题的模糊查询、对文章内容的模糊查询、对文章关键字的查询、通过分类筛选的功能
     * @param param
     * @return
     */
    List<ArticleVO> search(ArticleParam param);

    /**
     * 4、更新功能
     * @param article
     * @return
     */
    boolean update(Article article);

    /**
     * 5、或许文章被浏览次数的方法
     * @param articleId
     * @return
     */
    int getViewNumber(Integer articleId);

    /**
     * 6、文章被浏览之后，自动增加浏览次数的方法
     * @param articleId
     * @return
     */
    int addViewNumber(Integer articleId);

}

